package com.demo.java.OD101_150.OD129;

import java.util.*;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【字符串序列判定】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/145724954
 */
public class OdMain {
    public static void main(String[] args) {
        // 创建Scanner对象用于接收输入
        Scanner sc = new Scanner(System.in);

        // 读取两个字符串 S 和 L
        String s = sc.nextLine();  // 子序列字符串
        String l = sc.nextLine();  // 原始字符串

        // 初始化指针
        int findIndex = 0;  // 用于追踪 S 中当前匹配的字符
        int find = -1;  // 存储最后匹配的字符位置，初始化为 -1（未匹配）

        // 遍历字符串 L
        for (int i = 0; i < l.length(); i++) {
            // 获取当前 S 中要匹配的字符
            char c1 = s.charAt(findIndex);

            // 如果 L 中的字符与 S 中当前字符相等
            if (l.charAt(i) == c1) {
                findIndex++;  // 向后移动指针，表示找到了 S 中的下一个字符
            }

            // 如果指针已经遍历完 S 中所有字符，说明 S 是 L 的子序列
            if (findIndex == s.length()) {
                find = i;  // 记录最后一个匹配字符在 L 中的位置
                break;  // 结束循环
            }
        }
        // 输出最后一个有效字符的位置，若没有匹配，输出 -1
        System.out.println(find);
    }
}